Working with CVS in SNiFF+

There are two different ways to use CVS together with SNiFF+. One way is to use the well-known file-based SNiFF+ version control commands and the other one is to use the CVS module-based commands:

- File-based commands behave exactly the same way as known from RCS, so they make it easy for you to migrate; you can use the SNiFF+ concepts of Shared Working Environments, Default Version Control Configurations and Branching as known from RCS. In addition to the SNiFF+ typical commands, there are some more CVS file commands in the CVS custom menu for providing additional features.
File-based commands have well-defined outcome under all circumstances, but they are slower (with remote reopositories, sometimes much slower) than module based commands.
- Module-based commands are CVS-specific and provide enhanced performance. However, due to the nature of cvs they interact poorly with the SNiFF+ concepts of Default Version Control Configurations and Shared Working Environments. They can be used in such circumstances as well, but you should know exactly what you are doing.

Generally, we recommend using the file-based commands with local repositories and for small operations (like checking in two or three files). You can extend the file-based features with module-based commands for enhanced performance, especially when using remote repositories and when not using a shared source.

Thanks to the fast cvs update mechanism, it is particularly useful to not use a shared source on the Windows platform where symbolic links are not available for sharing source and object files.

More differences, advantages and disadvantages of using a shared source or not will be explained in the following sections.